home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d20 / gus_140.arc / GUS.DOC < prev    next >
Text File  |  1991-06-30  |  36KB  |  775 lines

  1.                   ╔══════════════════════════════════════════╗
  2.                   ║       █▀▀▀▀▀▀█  █      █  █▀▀▀▀▀▀█       ║
  3.                   ║       █         █      █  █              ║
  4.                   ║       █   ▀▀██  █     ██  ▀▀▀▀▀▀██       ║
  5.                   ║       █     ██  █     ██  ▄     ██       ║
  6.                   ║       ████████  ████████  ████████       ║
  7.                   ║       ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡       ║
  8.                   ║           General Unpack Shell           ║
  9.                   ║               version 1.40               ║
  10.                   ╚══╤═════════════════════════════════════╤═╝
  11.                      │Copyright (C) 1991 by TRI-SYSTEMS co.│
  12.                      │       - ALL RIGHTS RESERVED -       │
  13.                      │     Written by Johan Zwiekhorst     │
  14.                      └─────────────────────────────────────┘
  15.  
  16.  
  17.                        T A B L E   O F   C O N T E N T S
  18.                        *********************************
  19.  
  20.       1. LEGAL STUFF
  21.          The no-nonsense licence statement
  22.          Warranty
  23.          Contact
  24.          Payment
  25.          What you should have received
  26.  
  27.       2. INTRODUCTION
  28.  
  29.       3. USAGE
  30.          3.1. General Usage under DOS
  31.               SYSTEM REQUIREMENTS
  32.               COMMAND-LINE PARAMETERS
  33.               NOTE
  34.               EXAMPLES
  35.               EXIT CODES
  36.          3.2. Unpacking Mailarchives
  37.          3.3. Identifying Archive Types
  38.  
  39.       4. BUILT-IN DEFINITIONS
  40.          4.1. Built-in Unpacker Definitions
  41.          4.2. How To Define Other Unpackers
  42.  
  43.       5. GUS & OTHER SHELLS
  44.  
  45.       6. RUNTIME MESSAGES
  46.          [A] General information messages
  47.          [B] Warning messages
  48.          [C] Fatal error messages
  49.  
  50.       7. ACKNOWLEDGEMENTS
  51.  
  52.       8. REVISION HISTORY
  53.  
  54. ═══════════════════════════════════════════════════════════════════════════════
  55.  
  56.  
  57.       ╒════════════════╕
  58.       │ 1. LEGAL STUFF │
  59.       ╘════════════════╛
  60.  
  61.       This software is copyrighted (C) 1991 by TRI-SYSTEMS co., 
  62.       hereafter called the Owner. All Rights Reserved.  The software was 
  63.       written by Johan Zwiekhorst, hereafter called the Author.
  64.  
  65.       The No-Nonsense Licence Statement
  66.       =================================
  67.       This software and everything enclosed with it are protected by both
  68.       Belgian copyright law and international treaty provisions.
  69.       It is called "freeware".
  70.  
  71.       FREEWARE software may be used, copied and distributed freely for
  72.       NONCOMMERCIAL use only IF:
  73.       ▀▀▀▀▀▀▀▀▀▀▀▀▀
  74.  
  75.               NO FEE IS CHARGED FOR USE, COPYING OR DISTRIBUTION.
  76.  
  77.               IT IS NOT MODIFIED IN ANY WAY.
  78.  
  79.       It may be distributed ONLY in it's original, unmodified compressed
  80.       package file.                                ~~~~~~~~~~
  81.  
  82.       This means you may not add comments to the compressed package file
  83.       (also known as an archive file or simply an archive), nor may you
  84.       delete files from or add files to the archive file, UNLESS YOU HAVE
  85.       A WRITTEN PERMISSION TO DO SO.
  86.  
  87.       Converting the archive file to another compression method or
  88.       another archive file format is allowed, provided that the above
  89.       conditions are met.
  90.  
  91.       The original package as released by me is in Yoshi's LZH archive
  92.       format. (See below for what you should have received.)
  93.       In order to extract the files from an LZH archive, you will need
  94.       to get the file LHA***.EXE, where '***' stands for the version
  95.       number of the program LHA.  At the time this is written, the
  96.       latest version is 2.12, so look for LHA212.EXE.
  97.       Note, that recompressing the archive will nearly always result
  98.       in a bigger archive.
  99.  
  100.       The use of FREEWARE software is prohibited in a governmental
  101.       or commercial situation. In these cases, this software must be
  102.       purchased and a Commercial Licence Statement will then be provided
  103.       for.  You may write to TRI-SYSTEMS at the address below for more
  104.       information.
  105.  
  106.       Warranty
  107.       ========
  108.       This software is provided AS IS without any warranty, expressed or
  109.       implied, including but not limited to fitness for a particular
  110.       purpose.
  111.       IN NO EVENT SHALL THE AUTHOR/OWNER OF THIS PRODUCT BE LIABLE FOR
  112.       ANY DIRECT OR CONSEQUENTIAL LOSS OR DAMAGES WHICH MAY HAVE ARISEN
  113.       FROM THE USE OF THIS PRODUCT.
  114.       If your local law does not permit any of the statements made above,
  115.       or if you do not agree with any of them yourself, THEN YOU ARE NOT
  116.       LICENCED TO USE THIS PROGRAM!
  117.  
  118.       Contact
  119.       =======
  120.       The Author can be reached via electronic mail at phone number
  121.       +32-11-762626.
  122.       This is the Tripod BBS.  Network addresses:
  123.  
  124.       FIDOnet         2:292/100
  125.       SIGnet         27:332/0
  126.       Turbo-DataNet  77:8320/100
  127.  
  128.       The Owner can be contacted at the following address:
  129.  
  130.       TRI-SYSTEMS co.
  131.       Langstraat 89
  132.       3630 MAASMECHELEN (Belgium)
  133.       Phone +32-11-764905 during office hours, Central European Time.
  134.  
  135.       Payment
  136.       =======
  137.       If you would like to use this product in a commercial or
  138.       governmental situation, please contact TRI-SYSTEMS at the address
  139.       above. You will then learn the price of the product and a
  140.       Commercial Licence Statement will be made available to you.
  141.  
  142.       For all others, this product is free, as mentioned before.
  143.       But if you would like to support the author and encourage him to
  144.       write more useful software, you're welcome to pay some money.
  145.       You may pay whatever you feel the product is worth to you.
  146.       Note that this kind of freeware products is developed entirely in
  147.       the author's leisure time and he receives absolutely no
  148.       compensation for it, apart from what you as a user would pay him.
  149.  
  150.       If you pay at least U.S. $15 (BEF 500, NLG 30, DEM 25), you will
  151.       receive, when available, a 5.25" or 3.5" floppy diskette with the
  152.       next version.  Please specify which.
  153.       Immediately after receiving your payment, I will send you
  154.       an acknowledgement and a list of the latest versions of all
  155.       freeware I wrote. Payments to the author can be sent in cash to the
  156.       address mentioned above or transferred to one of the following bank
  157.       accounts:
  158.       Bank Brussel Lambert (Belgium) - account number 335-0076382-89
  159.       Rabobank (Holland)             - account number 1059.19.519
  160.  
  161.       ***NOTE THAT THIS IS FOR NON-COMMERCIAL SITUATIONS ONLY!
  162.  
  163.       For all payments made: please specify NAME and VERSION NUMBER of
  164.       the product!
  165.  
  166.  
  167.       What you should have received:
  168.       ==============================
  169.  
  170.       You should have received the file
  171.  
  172.       GUS_140.LZH - (23126 bytes)
  173.  
  174.       with the following contents:
  175.  
  176.       ┌──────────┐  ┌─────┐ ┌─────────────────────────┐
  177.       │ filename │  │bytes│ │ description             │
  178.       └══════════┘  └═════┘ └═════════════════════════┘
  179.       GUS     .DOC   35733  This documentation.
  180.       GUS     .EXE    9513  The program file.           CRC/32 = d1c55889
  181.       GUS_WCFG.PAS    3860  TP source for a program     CRC/32 = 0dcf1711
  182.                             that writes a new configur-
  183.                             ation into GUS.EXE.
  184.  
  185.       You may also use the program VALIDATE from McAfee Associates for
  186.       the purpose of checking the authenticity of the program file(s).
  187.       It should produce the following:
  188.  
  189.                 File Name:  gus.exe             gus_wcfg.pas
  190.                      Size:   9,513               3,860
  191.                      Date:  6-25-1991           6-25-1991
  192.       File Authentication:
  193.             Check Method 1 - 1ED2                84B9
  194.             Check Method 2 - 1736                13BE
  195.  
  196.  
  197.  
  198.       ╒═════════════════╕
  199.       │ 2. INTRODUCTION │
  200.       ╘═════════════════╛
  201.  
  202.       The General Unpack Shell, or GUS, identifies compressed file types
  203.       and calls the correct unpacker in order to extract the files from
  204.       them.
  205.       It's main purpose is, of course, to take work out of YOUR hands.
  206.       You can use GUS with its straight-forward and easy to remember
  207.       commands instead of having to learn a new set of commands each time
  208.       a new archiver sees the daylight.
  209.  
  210.       GUS will also work nicely in automated tasks, where any type of
  211.       archive should be uncompressed, or where a certain file has to be
  212.       added to any given archive.
  213.  
  214.       GUS was made to be command-line compatible with the ARCE.COM
  215.       unpacker program by Vernon Buerg.  This makes it possible for you
  216.       to rename GUS.EXE to ARCE.COM and have it invoked by any program
  217.       that expects both ARCE and SEA's ARC-type compressed files, so that
  218.       such a program will in fact work with any archive format YOU
  219.       choose.
  220.  
  221.       GUS does not require you to fiddle with cumbersome and difficult
  222.       configuration files: it's just a single EXE file.  You copy it into
  223.       your favourite utility directory and you can immediately start
  224.       using it, no hassles at all.
  225.  
  226.  
  227.       ╒══════════╕
  228.       │ 3. USAGE │
  229.       ╘══════════╛
  230.  
  231.       GUS assumes you have located all archiver programs it has to invoke
  232.       somewhere in your system PATH.
  233.       GUS is small and it will only occupy about 21K while shelling out
  234.       to other programs, which should leave more than enough memory for
  235.       those archiver programs.
  236.  
  237.       3.1. General Usage under DOS
  238.       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  239.       SYSTEM REQUIREMENTS:
  240.       --------------------
  241.       GUS will run on any IBM PC compatible computer running DOS 3.0 or
  242.       greater, provided that at least 21K plus the memory the largest
  243.       archiver program to invoke would need is available.
  244.  
  245.       COMMAND-LINE PARAMETERS:
  246.       ------------------------
  247.       As said before, GUS is command-line compatible with ARCE.
  248.       Hence, the general syntax is:
  249.  
  250.       GUS «compressed_filespec» [filespec(s)] [target_path] [switch(es)]
  251.  
  252.       (Entries enclosed within [] are optional, those within « » are
  253.       mandatory.  The [] and « » signs serve to indicate this only and
  254.       should never be typed!)
  255.  
  256.       «compressed_filespec»  ::=  this specifies where to find the
  257.                                   compressed file.  If an extension
  258.                                   is not given, GUS will assume '.*'.
  259.                                   Currently, the following archive types
  260.                                   are supported: ARC and ARC+, ARJ, DWC,
  261.                                   HYP, LZH (both LHarc and LHA), PAK, ZIP
  262.                                   and ZOO.
  263.  
  264.       [filespec(s)]          ::=  specifies which files should be
  265.                                   unpacked. You may give more than one
  266.                                   file specification, all of which may
  267.                                   contain wild cards.
  268.  
  269.       [target_path]          ::=  specifies where to locate the unpacked
  270.                                   files.  In order to allow GUS to be as
  271.                                   flexible as possible, the ordering of
  272.                                   the file specifications and the target
  273.                                   path is not important.  You may define
  274.                                   the target path first and then the
  275.                                   files to be extracted.  It is even
  276.                                   allowed to put the target path in the
  277.                                   middle of a number of specifications of
  278.                                   files to extract!  If you give more
  279.                                   than one directory, GUS will ignore all
  280.                                   but the last.
  281.  
  282.       [switch(es)]           ::=  specifies one or more of the following
  283.                                   switches...
  284.          /I     :  Identify only, don't shell out (see 3.3 below)
  285.          /M     :  unpack Mailarchives only (see 3.2 below)
  286.          /P     :  Print file(s) on standard output device
  287.          /Q     :  Quiet mode, suppresses shell output
  288.          /R     :  Replace existing files
  289.          /T     :  Test archive integrity
  290.          /Gpswd :  supply password 'pswd' for Garbled archive
  291.  
  292.       All parameters have to separated by at least one blank.  Switches
  293.       may be joined together without spaces, but the '/' character must
  294.       be present for each switch.  GUS does not support the dash '-'
  295.       instead of the slash '/'.
  296.  
  297.       NOTE:
  298.       -----
  299.       Consistent with ARCE's behaviour, GUS will create any directories
  300.       contained within an archive if they do not exist.  ARCE has a /5
  301.       switch to prevent this, but I have not included this switch with
  302.       GUS, since it would not be meaningful.  If anyone has a nice idea
  303.       for such a switch, I would be glad to hear it.  (/D and /X are out
  304.       of the question, folks!)
  305.  
  306.       EXAMPLES:
  307.       ---------
  308.       1) Extract all files from an archive CFILE.ANY:
  309.          > GUS CFILE.ANY
  310.       2) Extract all *.COM and *.EXE files from an archive UTILS.ANY
  311.          into a target directory D:\Utils and replace all existing ones:
  312.          > GUS UTILS.ANY *.COM *.EXE D:\UTILS /R
  313.       3) A batchfile LA.BAT which will list any text file inside any
  314.          archive:
  315.          LA.BAT: @echo off
  316.                  GUS %1 %2 %3 %4 %5 %6 %7 %8 %9 /P|LIST/S
  317.  
  318.          Then you can use this like:   LA GUS_140 *.DOC
  319.  
  320.       4) Test the integrity of all archives in the directory F:\Arcs
  321.          > GUS F:\ARCS\* /T
  322.  
  323.       5) Unpack all ZIPfiles PW*.ZIP protected with password JIMMY into
  324.          the directory D:\PWS, not replacing any existing files:
  325.          > GUS PW*.ZIP D:\PWS /GJIMMY
  326.  
  327.       EXIT CODES:
  328.       -----------
  329.       GUS will yield an errorlevel of 0 if all operations succeeded.
  330.       If something's wrong, it will pass on the errorlevel returned by
  331.       the invoked child program.
  332.       If the child program could not be invoked, GUS will return
  333.       errorlevel 202 = no such program file found in PATH
  334.                  203 = non-existing directory
  335.                  204 = too many open files (increase FILES=... parameter
  336.                        in your CONFIG.SYS file)
  337.                  205 = access denied
  338.                  206 = invalid handle
  339.                  208 = not enough memory to start the child program
  340.                  210 = invalid environment
  341.                  211 = invalid format
  342.                  218 = no more files
  343.       Note, that GUS will not be able to handle a PATH of more than 255
  344.       characters properly.
  345.  
  346.       3.2. Unpacking Mailarchives
  347.       ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  348.       If you are a BBS SysOp or a Point connected to a Fidonet Technology
  349.       compatible electronic mail network, you receive mail packets
  350.       compressed and bundled within mailarchives.  You obviously need to
  351.       unpack those mailarchives.
  352.       You can do that in two ways:
  353.  
  354.       a) Have your mailprocessor call GUS to unpack the mailarchives.
  355.  
  356.        + If your mailprocessor allows you to specify which unpacker it
  357.          should invoke to decompress mailarchives, have it call GUS.
  358.          Example for ConfMail:
  359.          > CM IMPORT AREAS.BBS -K -N -F Conf.Imp -A GUS
  360.  
  361.        + If your mailprocessor does not allow you to specify which
  362.          unpacker to use, it will most likely expect ARCE or PKXARC/
  363.          PKUNPAK.  Rename GUS.EXE to ARCE.COM or PKXARC.EXE or
  364.          PKUNPAK.EXE, whatever your mailprocessor wants.
  365.          If your mailprocessor wants to use an unpacker that needs a
  366.          specific decompress command (like PAK E Archive), you cannot
  367.          have it call GUS, since GUS would interpret its first
  368.          command-line argument as the archive name.
  369.          Use the method described in item b) to have GUS unpack your
  370.          mailarchives BEFORE your mailprocessor is started.  Since your
  371.          mailprocessor will only see mail packets then and no
  372.          mailarchives, there will be no problem.
  373.  
  374.       b) Have GUS unpack all mailarchives BEFORE you invoke your
  375.          mailprocessor.
  376.          You this by starting GUS with the following command-line:
  377.  
  378.          GUS «Inbound_directory» /M
  379.  
  380.          Instead of the archive name, you specify the path to the
  381.          directory where your inbound mail is located.
  382.          Suppose your inbound directory is D:\Opus\NetFiles.  GUS will
  383.          unpack all mailarchives in that directory with the following
  384.          command:
  385.          > GUS D:\OPUS\NETFILES /M
  386.  
  387.          After a mailarchive has been unpacked succesfully, GUS will
  388.          delete it automatically.
  389.          If a mailarchive cannot be unpacked succesfully, then GUS will
  390.          create a subdirectory BADARC.GUS in your inbound directory and
  391.          move that mailarchive to it.  This allows you to inspect the
  392.          problematic mailarchives later on while retaining their original
  393.          name.  Other unpack shells always rename a faulty archive to
  394.          BADARC.001, which makes it very difficult if you would like to
  395.          restore the archive to its original name after you have
  396.          inspected and maybe repaired it.  I didn't like that procedure,
  397.          so I decided to let GUS move problematic archives to a special
  398.          subdirectory instead.  Let me know how you feel.
  399.  
  400.       3.3. Identifying Archive Types
  401.       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  402.       With the /I switch, you can have GUS simply report which archive
  403.       type is at hand and not do anything else.
  404.       This switch can be used just to get a list of archive types, like
  405.       this:
  406.       > GUS J:\Outbound\*.MO? /I
  407.  
  408.       Type Archive Filename
  409.       ---- ----------------
  410.       LZH  J:\OUTBOUND\0009FE64.MO1
  411.       ???  J:\OUTBOUND\8FDCB1E2.MO1
  412.       ZIP  J:\OUTBOUND\8FDCB243.MO0
  413.       ARJ  J:\OUTBOUND\FF24FFE9.MO0
  414.       LZH  J:\OUTBOUND\8FDCB241.MO0
  415.  
  416.       GUS yields something like the above list.  The '???' means that GUS
  417.       was unable to determine the archive type, possibly because it isn't
  418.       an archive at all.  In this case, it was a zero-length file.
  419.  
  420.       A much more useful way of using this switch is to determine the
  421.       type of just one archive and act upon that.  For instance, to add a
  422.       file to any archive that comes along.
  423.       If used with /I, GUS will return an errorlevel from 0 to 9,
  424.       indicating the archive type.
  425.  
  426.       Archive Type:  Unknown ARC  ARJ  ARC+  DWC  HYP  LZH  PAK  ZIP  ZOO
  427.       Errorlevel  :     0     1    2    3     4    5    6    7    8    9
  428.  
  429.       Example: suppose you want to add a header text LOGO.TXT to ZIP and
  430.       ARJ files, and leave other archive types alone.
  431.       These batchfile instructions will take care of that:
  432.  
  433.         GUS %1 /I
  434.         if errorlevel 8 goto IsZIP
  435.         if errorlevel 2 goto IsARJ
  436.         goto Finish
  437.       :IsZIP
  438.         if errorlevel 9 goto Finish
  439.         PKZIP -z %1 <LOGO.TXT
  440.         goto Finish
  441.       :IsARJ
  442.         if errorlevel 3 goto Finish
  443.         ARJ c -zLOGO.TXT %1
  444.       :Finish
  445.  
  446.  
  447.       ╒═════════════════════════╕
  448.       │ 4. BUILT-IN DEFINITIONS │
  449.       ╘═════════════════════════╛
  450.  
  451.       4.1. Built-In Unpacker Definitions
  452.       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  453.       The following unpackers are defined by default within GUS.EXE:
  454.  
  455.       Type Program       Extract    Replace    Display    Test       Password
  456.       ---- ------------  ---------  ---------  ---------  ---------  --------
  457.       ARC  PKUNPAK .EXE  -n         -r         -c         -t         -g
  458.       ARJ  ARJ     .EXE  e -n       e -y       p          t          -g
  459.       A7+  XARC    .EXE             /o         *********  *********  /g
  460.       DWC  DWC     .EXE  xowr       xwr        p          t          g
  461.       HYP  HYPER   .EXE  -xp        -xop       *********  *********  *****
  462.       LZH  LHA     .EXE  e /x+m+    e /x+m+c+  p          t          *****
  463.       PAK  PAK     .EXE  e/WN/PATH  e/WA/PATH  p          t          /g
  464.       ZIP  PKUNZIP .EXE  -n -d      -o -d      -c         -t         -s
  465.       ZOO  ZOO     .EXE  e//        e//SO      ep         eN         *****
  466.       ---  ------------ ----------  ---------  ---------  ---------  -----
  467.        3       12          10          10         10         10        5
  468.  
  469.       The numbers above indicate the number of characters provided for
  470.       each string.
  471.       Note that Extract, Replace, Display and Test are COMMANDS, while
  472.       Password is an OPTION.  The difference is, that an OPTION is always
  473.       combined with a COMMAND and cannot be used alone.
  474.       All spaces means that that particular program does not need any
  475.       parameters for that particular command.
  476.       All stars means that that particular program does not support that
  477.       command or that option.
  478.  
  479.       You may want to redefine some of those built-in definitions for
  480.       various reasons.  To use another unpacker program, for instance.
  481.       Or to change some parameters.  If you don't want directories
  482.       contained within archives to be created, you should remove all
  483.       relevant parameters from the commands listed above.
  484.  
  485.       4.2. How To Define Other Unpackers
  486.       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  487.       There are two ways to modify the built-in definitions.
  488.  
  489.       You can grab a hex editor and change GUS.EXE directly.  If you do,
  490.       please take note of the lengths of the strings as listed above in
  491.       section 4.1.  All strings occupy the specified number of
  492.       characters.  To achieve that, they were padded with spaces where
  493.       necessary.  If you edit them, make sure you retain the number of
  494.       characters and do NOT change the funny looking character at the
  495.       start of each string (that's in fact the string length indicator
  496.       byte).  If a particular parameter is not supported by a certain
  497.       unpacker program, then you should edit the appropriate field to
  498.       contain all stars.
  499.  
  500.       If you own a Turbo Pascal compiler v5.0 or later from Borland
  501.       International, you can edit the file GUS_WCG.PAS and re-compile it.
  502.       This small program will update the configuration information at the
  503.       end of GUS.EXE for you.  Do *NOT* modify the record layout of that
  504.       information, since GUS will not recognize it anymore if you do.
  505.  
  506.       Future versions of GUS may come with a complete setup program to
  507.       edit and save a new configuration.
  508.  
  509.  
  510.       ╒═══════════════════════╕
  511.       │ 5. GUS & OTHER SHELLS │
  512.       ╘═══════════════════════╛
  513.  
  514.       Since GUS was first created, other authors have joined the club and
  515.       released their own versions of a utility that identifies archive
  516.       types and shells out to the appropriate unpacker programs.
  517.  
  518.       Some of those other shell programs come with source, others don't.
  519.       Some have configuration files, others don't.
  520.       Some are large, others small.
  521.       Only one is GUS and all the others "ain't"!
  522.  
  523.       Why should you use GUS?
  524.  
  525.       1. GUS is small and fast.  Other shell programs typically use a lot
  526.          more memory than GUS does.
  527.       2. GUS provides you with all possible commands to allow not only
  528.          automatic use, but also easy DOS command-line usage.
  529.       3. While scanning a file to determine the archive type, the
  530.          identification bytes have to be investigated in a well-defined
  531.          order.  Only then, the program will not be fooled by things like
  532.          archives within archives.
  533.          GUS is the only program that does this flawlessly: it will never
  534.          be fooled.
  535.       4. GUS has built-in code especially designed for archives that have
  536.          their identification code at the end of the file.  If such an
  537.          archive has been transmitted by means of a protocol like
  538.          X-modem, some junk may have been appended to the file to make it
  539.          grow to the next 128 byte or even 1 K-byte boundary!
  540.          GUS is the *only* program that will recognize an archive with
  541.          appended junk because it can skip that while scanning.
  542.          (At this time, this is only needed for DWC archives, but you
  543.          never know...)
  544.       5. Because *I* wrote it! :-)
  545.  
  546.  
  547.       ╒═════════════════════╕
  548.       │ 6. RUNTIME MESSAGES │
  549.       ╘═════════════════════╛
  550.  
  551.       GUS may produce a number of messages while it's working.
  552.       I will list all messages below, with an explanation what's wrong.
  553.  
  554.       [A] General information messages
  555.       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  556.       MESSAGE: Child program returns exit code #
  557.       -> this message is given when the invoked unpacker program returns
  558.          control to GUS.  It shows the errorlevel returned by the
  559.          unpacker program.  The "#" will be replaced by the actual
  560.          exit code.
  561.  
  562.       [CHILD]: «unpacker_commandline»
  563.       -> this is shown in Quiet mode (/Q switch) instead of the
  564.          archiver's screen output.  The «unpacker_commandline» will be
  565.          replaced by just that.
  566.  
  567.       Extract: ALL files (XARC cannot extract specific files)
  568.       -> this message is shown when the first four characters of the
  569.          unpacker program definition string are "XARC".  Any files to
  570.          extract specified on the command-line will be ignored.
  571.  
  572.  
  573.       [B] Warning messages
  574.       ~~~~~~~~~~~~~~~~~~~~
  575.       WARNING: multiple target directories defined -- will use the LAST one!
  576.       -> you have defined more than one target path on the command-line.
  577.          GUS warns you that it will ignore all paths but the last.
  578.  
  579.       WARNING: unknown switch /X ignored
  580.       -> you have specified a switch that GUS doesn't know.  In the above
  581.          warning message, the "X" will be replaced by the actual
  582.          character that you used.  GUS will continue but ignores this
  583.          particular command.
  584.  
  585.       WARNING: a slash by itself is not a valid option -- ignored
  586.       -> you have typed a slash "/" followed by a space or an end-of-line.
  587.          GUS will continue and ignore this.
  588.  
  589.       WARNING: unknown parameter #9 «X» ignored
  590.       -> you have typed something on the command-line that GUS can't
  591.          decipher.  The actual word you typed will be inserted instead of
  592.          "X" in the above message, and the number of that parameter on
  593.          the commandline will be shown instead of the "9" above.
  594.  
  595.       WARNING: moving bad archive HHHHHHHH.XX9 to X:\Inbound\BADARC.GUS\
  596.       -> in mail unpack mode (/M switch), GUS was unable to unpack an
  597.          archive and warns you that it will be moved to the BADARC.GUS
  598.          subdirectory that GUS creates in the mail inbound directory.
  599.          The actual name of the bad archive will be inserted in the
  600.          message instead of "HHHHHHHH.XX9" and "X:\Inbound" will be
  601.          replaced by the path to your mail inbound directory.
  602.  
  603.       WARNING: unsupported command -- will do normal extract instead
  604.       -> you tried to perform an action not supported by the particular
  605.          archiver defined within GUS (i.e., issue a /T [test] command
  606.          with the HYPER archiver program).
  607.          GUS warns you it will ignore that command and do a normal
  608.          extract instead.
  609.  
  610.       WARNING: XXX type cannot be garbled - ignoring password...
  611.       -> you supplied an extraction password for an archive whose
  612.          unpacker program does not support password-protection.
  613.          GUS will continue the command while ignoring the /G switch.
  614.          The "XXX" will be replaced by the actual archive type detected.
  615.  
  616.       [C] Fatal error messages
  617.       ~~~~~~~~~~~~~~~~~~~~~~~~
  618.       >ERROR<: cannot read configuration information!
  619.       MESSAGE: aborting with exit code 255...
  620.       -> GUS complains it can't find the configuration information at the
  621.          back of it's EXE file.  This means something is terribly wrong
  622.          with that EXE file.  You better delete it and get the original
  623.          release archive unpacked again!  (You *did* save that one,
  624.          didn't you?)
  625.  
  626.       >ERROR<: cannot move bad mailarchive!
  627.       -> in mail unpack mode (/M switch), GUS encountered a bad archive
  628.          but is unable to move it to the BADARC.GUS directory.
  629.          (Possible causes: a file with exactly the same name exists
  630.          already in the BADARC.GUS directory, or the BADARC.GUS directory
  631.          does not exist [anymore?] at the time of the move.)
  632.          The bad archive will remain in the inbound directory and you'd
  633.          better find out what the heck is going on!
  634.  
  635.       >ERROR<: cannot erase unpacked mailarchive!
  636.       -> in mail unpack mode (/M switch), GUS is unable to delete the
  637.          mailarchive after it has been unpacked successfully.
  638.          This more than likely means that the mailarchive was marked
  639.          Read/Only.  You will have to unlock and delete it manually.
  640.          As mailarchives are created fresh upon receipt, it is very
  641.          unlikely that they would be marked R/O.
  642.  
  643.       >ERROR<: DOS couldn't execute «XXX» due to: YYY
  644.       -> GUS was unable to load and execute the unpacker program.
  645.          The path and name of that unpacker will be inserted in the error
  646.          message instead of "XXX" and the reason will be shown instead of
  647.          "YYY".  That reason will be one of 9 possible problems
  648.          described in section 3.1. General Usage under DOS, EXIT CODES.
  649.          If the error code returned by DOS should be unknown to GUS, it
  650.          will display "DOS ERROR" followed by the error number instead.
  651.  
  652.       >ERROR<: error locating directory XXX
  653.                will unpack in current directory.
  654.       -> You specified a target directory GUS was unable to find.  The
  655.          target path specification will be ignored and the unpacking will
  656.          be done in the current directory.
  657.  
  658.       >ERROR<: «XXX» is no ARC/ARC+/ARJ/DWC/HYP/LZH/PAK/ZIP/ZOO file!
  659.       -> GUS encountered a file that is not one of the known archive
  660.          types.  GUS will continue with the next file, if there is one.
  661.          "XXX" will be replaced by the actual archive name.
  662.  
  663.       >ERROR<: no such file(s)!
  664.       -> GUS was started with an archive filename specification, but no
  665.          such file could be found.  GUS will abort with errorlevel 1.
  666.  
  667.       >ERROR<: no such mail directory!
  668.       -> you specified a mail inbound directory (/M switch) that GUS was
  669.          unable to locate.  GUS will end with errorlevel 0.
  670.  
  671.  
  672.       ╒═════════════════════╕
  673.       │ 7. ACKNOWLEDGEMENTS │
  674.       ╘═════════════════════╛
  675.  
  676.     + PKUNPAK  FAST!  Archive Extract Utility  Version 3.61  08-02-88
  677.       Copyright (c) 1986-1988 PKWARE Inc. All Rights Reserved.
  678.  
  679.     + PKUNZIP (R)    FAST!    Extract Utility    Version 1.1    03-15-90
  680.       Copr. 1989-1990 PKWARE Inc. All Rights Reserved.
  681.       PKUNZIP Reg. U.S. Pat. and Tm. Off.
  682.  
  683.     + XARC - to decompress a standard ARC Format Archive, Ver 7.1,
  684.       October, 1990
  685.       Copyright 1990 by System Enhancement Associates, Inc.;
  686.       ALL RIGHTS RESERVED
  687.  
  688.     + ARJ 2.10 Copyright (c) 1990,91 Robert K Jung
  689.       All rights reserved.  Free for non-commercial personal use.
  690.  
  691.     + DWC - Archive utility, Release 5.10, Created 3/07/90
  692.       (C) Copyright 1986-90 by Dean W. Cooper; All rights reserved.
  693.  
  694.     + Hyper - Pack Utility 2.5
  695.       Copyright (c) 1989,1990 P. Sawatzki and K.P. Nischke
  696.  
  697.     + LHA version 2.12    Copyright (c) Haruyasu Yoshizaki, 1988-91
  698.  
  699.     + Pak 2.51 Copyright 1988-90 NoGate Consulting
  700.  
  701.     + Zoo archiver, Version 2.01 (1988/08/25 12:43:57)
  702.       (C) Copyright 1988 Rahul Dhesi -- Noncommercial use permitted
  703.  
  704.     + ARCE Copyright (c) 1986-90 Vernon D. Buerg.
  705.       Extract ARC files, Version 4.0f, 5/15/90. All rights reserved.
  706.  
  707.     + Conference Mail - Revision: 4.07 by Bob Hartman, FidoNet Node 132/101
  708.       (C) Copyright 1986, 1987 by Spark Software Inc. All rights reserved.
  709.  
  710.  
  711.       ╒═════════════════════╕
  712.       │ 8. REVISION HISTORY │
  713.       ╘═════════════════════╛
  714.  
  715.       Ver.   Comment
  716.       ~~~~   ~~~~~~~
  717.       1.40 - Removed MDCD archive support again, since nobody was likely
  718.              to use it -- unless you're looking for the worst performing
  719.              archiver ever, of course.
  720.            - Added support for the new LHA version 2 archiver from Yoshi,
  721.              which succeeds LHARC.  The previous version of GUS could
  722.              already handle the new compression, but I didn't expect the
  723.              name of the program to be changed.
  724.            - Added support for the ARJ archiver program from Robert K.
  725.              Jung, which yields nearly always the best compression and
  726.              has a lot of features.
  727.            - Added support for the HYPER archiver program from Germany,
  728.              which seems to outperform every other archiver on 600..800K
  729.              logfiles ONLY.  Weird.
  730.            - Added support for ARCfiles made by the new ARC version 7
  731.              compressor from SEA.  At this time, only one public domain
  732.              extractor is available, which unfortunately lacks almost
  733.              every feature GUS has to offer.
  734.            - GUS is now fully commandline compatible with Vernon Buerg's
  735.              ARCE program.  All of ARCE's switches are supported - except
  736.              for /5, which prevents ARCE from creating subdirectories
  737.              contained within ARCfile entries.
  738.            - GUS provides two extra options: /I will identify an archive
  739.              type by means of the exitcode (errorlevel) and /M will
  740.              unpack and delete mailarchives in Fidonet Technology
  741.              Networks.
  742.            - BUGFIXES:
  743.              * cleaned up handling zero-length and read/only files.
  744.                From now on, GUS won't abort with a runtime error on
  745.                those. 
  746.              * you could only specify one single file to extract on GUS's
  747.                commandline, although the help screen and manual suggested
  748.                you could give more than one filespec.
  749.                That's also corrected now.
  750.            - OTHER IMPROVEMENTS:
  751.              * the code which detects the archive type has been completely
  752.                re-written and now is a *lot* faster than before!
  753.  
  754.       1.31 - This version was never released, but mentioned in the
  755.              documentation of the ARCA*Simulator v2.31 (ASIM_231.LZH).
  756.  
  757.       1.30 - This version was never released, but mentioned in the "Latest
  758.              Software Versions" column of the FidoNews magazine.
  759.  
  760.       1.20M  Added MDCD archives, corrected an error which made GUS not
  761.              recognize uncompressed file entries in an LZH archive, made sure
  762.              the new compression method of PAK is supported, added features to
  763.              allow selection of files and target directory for unpacking.
  764.              This is a maintenance release, hence the 'M' behind the version
  765.              number.
  766.  
  767.       1.10 - Added LZH archives, and changed the way DWC archives are
  768.              identified in order to identify them even if up to 1K of rubbish
  769.              is appended to the end of a DWC archive. This is useful for DWC
  770.              archives which have been transferred by means of an Xmodem
  771.              protocol.
  772.  
  773.       1.00 - Base version.  (Turbo Pascal 5.0)
  774. _______________________________________________________________________(eof)__
  775.